using System.Data.Entity.ModelConfiguration;
using CodeSaude.Domain.Entities;

namespace CodeSaude.Infrastructure.Data.EntityConfig
{
    public class FuncaoMap : EntityTypeConfiguration<Funcao>
    {
        public FuncaoMap()
        {
            // Primary Key
            HasKey(t => t.FuncaoId);

            // Properties
            Property(t => t.NomeFuncao)
                .HasMaxLength(90);

            Property(t => t.ImagemFuncao)
                .HasMaxLength(90);

            Property(t => t.Action)
                .HasMaxLength(90);

            Property(t => t.Controller)
                .HasMaxLength(90);

            // Table & Column Mappings
            ToTable("funcao");
            Property(t => t.FuncaoId).HasColumnName("id_funcao");
            Property(t => t.NomeFuncao).HasColumnName("nome_funcao");
            Property(t => t.ImagemFuncao).HasColumnName("imagem_funcao");
            Property(t => t.Action).HasColumnName("link_funcao");
            Property(t => t.Controller).HasColumnName("diretorio_funcao");
            Property(t => t.IdSituacao).HasColumnName("id_situacao");
            Property(t => t.FuncaoPaiId).HasColumnName("funcao_principal");
        }
    }
}
